#ifndef LOCUS_H
#define LOCUS_H

#include <QString>
#include <QStringList>

class Locus {

public:
    Locus( QString geno=QString("") );

    inline int ploidy() { return _alleles.count(); }

    bool isHeterozygote();
    QString getAllele( int idx );
    void addAllele( QString val );
    void setAllele( int idx, QString val );
    void setGenotype( QString val );


    bool operator==(const Locus &other ) const;

    inline QString toString() { return _alleles.join(":"); }

private:
    QStringList _alleles;
};

#endif // LOCUS_H
